# ⭐第一天
# 1.给你一个仅由数字6和9组成的正整数num。你最多只能翻转一位数字，将6变成9，或者把9变成6。请返回你可以得到的最大数字。
def max_number(num):
    str_num = str(num)
    '''
    str_num ---> 9669
    '''
    list_num = list(str_num)
    '''
    list_num ---> ['9', '6', '6', '9']
    '''
    for i in range(len(list_num)):
        if list_num[i] == '6':
            list_num[i] = '9'
            break    # 最多只能翻转一位数字，即翻转到并修改，退出循环。
    str_ = "".join(list_num)    # 列表合并为字符串。
    num = int(str_)    # 数据类型转换：字符串转整型。
    return num

# 2.在柠檬水摊上，每一杯柠檬水的售价为5美元。顾客排队购买你的产品，一次购买一杯。每位顾客只买一杯柠檬水，然后向你付5美元、10美元或20美元。你必须给每个顾客正确找零，也就是说净交易是每位顾客向你支付5美元。一开始你手头没有任何零钱，返回是否能给每位顾客正确找零。
def Give_Change(lst):
    five = 0
    ten = 0
    for i in lst:
        if i == 5:
            five += 1
        elif i == 10:
            if five >= 1:
                five -= 1
                ten += 1
            else:
                return False
        elif i == 20:
            if five >= 3:
                five -= 3
            elif five >= 1 and ten >= 1:
                five -= 1
                ten -= 1
            else:
                return False
    else:
        return True

if __name__ == '__main__':
    num = 9669
    First_result = max_number(num)
    print('得到最大数字：',First_result)
    # 打印输出结果 --> 得到最大数字： 9969
    lst = [5,5,5,10,20]
    Second_result = Give_Change(lst)
    print('是否能给每一位顾客正确找零:',Second_result)
    # 打印输出结果 --> 是否能给每一位顾客正确找零: True